English Computing Dictionary
◊ PRIORITY INVERSION
priority inversion
A phenomenon which can arise in a {concurrent}
programming environment where a high priority task (H) is
blocked by a low priority task (L), e.g. because L has locked
some resource needed by H, and L then has to wait for a medium
priority task (M). The net result is that H ends up waiting
for M instead of the other way round - the priorities become
inverted.
This can be a problem if, for example, M takes a long time,
causing H to miss a deadline.
A possible cure is to have tasks inherit the maximum priority
of any task that is waiting for them. In that case L
temporarily becomes high priority until H can procede, thus
preventing M from running in place of H.
(1997-12-13)